package com.ia.aistream.mapper.dxfcomponent;

import java.util.List;

import com.ia.aistream.model.dxfcomponent.entity.DrawDxfComp;
import com.ia.aistream.model.dxfcomponent.entity.DxfComponent;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;


/**
 * dxf文件部件Mapper接口
 * 
 * @author ymj
 * @date 2020-12-04
 */
public interface DxfComponentMapper extends BaseMapper<DxfComponent>
{
    /**
     * 查询dxf文件部件
     * 
     * @param componentId dxf文件部件ID
     * @return dxf文件部件
     */
    public DxfComponent selectDxfComponentById(Long componentId);

    /**
     * 查询dxf文件部件列表
     * 
     * @param dxfComponent dxf文件部件
     * @return dxf文件部件集合
     */
    public List<DxfComponent> selectDxfComponentList(DxfComponent dxfComponent);

    /**
     * 新增dxf文件部件
     * 
     * @param dxfComponent dxf文件部件
     * @return 结果
     */
    public int insertDxfComponent(DxfComponent dxfComponent);

    /****
     * 实现批量上传设备信息
     * @param dxfComponentList
     * @return
     */
    public int insertBatchDxfComponent(@Param("dxfComponentList") List<DxfComponent> dxfComponentList);

    /**
     * 修改dxf文件部件
     * 
     * @param dxfComponent dxf文件部件
     * @return 结果
     */
    public int updateDxfComponent(DxfComponent dxfComponent);

    /**
     * 删除dxf文件部件
     * 
     * @param componentId dxf文件部件ID
     * @return 结果
     */
    public int deleteDxfComponentById(Long componentId);

    /**
     * 批量删除dxf文件部件
     * 
     * @param componentIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteDxfComponentByIds(String[] componentIds);

    /***
     * 通过索引信息Id列进行删除
     * @param drawId
     * @return
     */
    public int deleteDxfComponentByDrawId(Long drawId);

    /***
     * 根据系统和子项进行数据的查询，获取所有的设备信息
     * @param drawDxfComp
     * @return
     */
    public List<DrawDxfComp> selectDrawDxfCompList(DrawDxfComp drawDxfComp);
}
